iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0

今天要來聊聊 k8s (k3s) 的操作介面,也就是 kubectl,它是 k8s 提供出來的 cli 版介面,可以透過它資源控制、部署 APP、觀察 cluster 狀態...。

昨天文章有聊到,透過下面指令可以進入到虛擬機

multipass shell test-k3s

預設裝完 k3s ,其實裡面就有搭載 kubectl 可以操作。

但今天假設我們要模擬其實虛擬機是在雲端,實務上也不會 ssh 到該機器才去操作 kubectl ,所以我們還是需要在自己的開發本機安裝 kubectl

這邊提供 官網 的安裝方式,基本上各種 OS 都有支援。

設定

安裝完後,因為我們是透過 multipass + k3s 所組成的,所以設定上稍稍有點不一樣的方式。

先把 k3s 的設定檔移到自己的本機目錄。

multipass exec test-k3s sudo cat /etc/rancher/k3s/k3s.yaml > ~/.kube/k3s.yaml

然後透過下面語法查詢你的 K3S IP

multipass info test-k3s

以我的本機的狀態會得到如下

Name:           test-k3s
State:          Running
IPv4:           192.168.64.8
Release:        Ubuntu 20.04.1 LTS
Image hash:     995771784f85 (Ubuntu 20.04 LTS)
Load:           0.56 0.58 0.64
Disk usage:     2.0G out of 4.7G
Memory usage:   599.4M out of 981.4M

IPv4 裡面的 IP 去剛剛複製出來的 k3s.yaml 替換 server: https://127.0.0.1:6443 裡面的 127.0.0.1

然後接下來照著下面的操作方式就可以透過本機的 kubectl 去操作你虛擬機裡的 k3s 了

kubectl --kubeconfig ~/.kube/k3s.yaml get nodes

只要有看到下面類似文字就代表成功了

NAME       STATUS   ROLES    AGE   VERSION
test-k3s   Ready    master   18h   v1.18.8+k3s1

如果有其他 kubeconfig 的設定該如何兼容呢? 只要把 config export 出來即可

export KUBECONFIG=~/.kube/config:~/.kube/k3s.yaml

這樣之後,透過

# 因為預設 k3s 的 cluster name 為 default 有需要修改的可以自行修改 k3s.yaml
kubectl config use-context default

以後指令就可以直接下,只要 context 切對,就可以不需要加入 --kubeconfig

$ kubectl get nodes
NAME       STATUS   ROLES    AGE   VERSION
test-k3s   Ready    master   12d   v1.18.8+k3s1

上一篇
Day3 如何運用 multipass 安裝 k3s
下一篇
Day5 k8s POD 介紹
系列文
k8s 生態鏈 完美組合30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言